package com.atguigu.demo.excel;

import com.alibaba.excel.EasyExcel;
import org.junit.Test;

import java.util.ArrayList;
import java.util.List;

public class TsetEasyExcel {

    public static void main(String[] args) {
        // 实现excel写入的操作
        // 1 设置写入的文件夹地址以及文件名称
        String fileName = "C:\\JavaProjects\\Project_GULI\\temp\\write.xlsx";

        // 2 调用easyExcel中的方法来实现写的操作
        // 其中有两个参数 ： 一个是文件的路径名称 另一个是要写入对象实体类的class文件
        // sheet指定我们要创建的表单名字
        // 而doWrite则需要传入一个list集合
        EasyExcel.write(fileName, DemoData.class).sheet("学生列表").doWrite(getData());
    }

    /*
    实现excel的读
     */
    @Test
    public void readExcel(){
        // 1 设置读取文件名称
        String fileName = "C:\\JavaProjects\\Project_GULI\\temp\\write.xlsx";
        // 2 调用方法 这里需要传入我们专门配置的监听器
        EasyExcel.read(fileName, DemoData.class, new ExcelListener()).sheet().doRead();
    }

    // 我们使用一个方法来专门返回一个list集合
    public static List<DemoData> getData(){
        List<DemoData> list = new ArrayList<>();
        for (int i = 0; i < 10; i++) {
            DemoData data = new DemoData();
            data.setSno(i);
            data.setSname("Stu_" + i);
            list.add(data);
        }

        return list;
    }
}
